In machine control, a controller, which can be implemented using one or combination of software or hardware, generates commands values for input to a machine based on measurements obtained, e.g., from sensors and/or estimators, from outputs of the machine. The controller selects the input so that the machine operates as desired, for instance, the operation follows a desired reference profile, or regulates the outputs to a specific value. In several cases, the controller enforces constraints on the inputs and outputs of the machine, for instance ensuring that the corresponding variables are in some predetermined ranges to ensure safe machine operation from a physical specification. In order to enforce such constraints, the controller often uses a model of the machine to predict what behavior the machine produces when a command, i.e., a control input, is applied. One example of a controller that is capable of achieving control of a machine while enforcing constraints on the machine inputs and outputs is model predictive control (MPC).
The MPC is based on an iterative, finite horizon optimization of a model of a machine and has the ability to anticipate future events to take appropriate control actions. This is achieved by optimizing the operation of the machine over a future finite time-horizon subject to constraints, and only implementing the control over the current timeslot. For example, the constraints can represent physical limitation of the machine, safety limitations on the operation of the machine, and performance limitations on a trajectory. A control strategy for the machine is admissible when the motion generated by the machine for such a control strategy satisfies all the constraints. For example, at time t, the current state of the machine is sampled and an admissible cost minimizing control strategy is determined for a relatively short time horizon in the future. Specifically, an online or real-time calculation determines a cost-minimizing control strategy until time t+T. After the step of the control is implemented, the state is sampled again and the calculations are repeated starting from the now current state, yielding a new control and new predicted state path. The prediction horizon shifts forward, and for this reason MPC is also called receding horizon control.
The MPC can be used to generate the actual trajectory of the motion of the machine based on a model of the system and the desired reference trajectory by solving an optimal control problem over a finite future time subject to various physical and specification constraints of the system. The MPC aims at minimizing performance indices of the motion of the machine, such as an error between a reference and an actual motion of the machine, the machine energy consumption, and induced system vibration.
Because the MPC is a model-based framework, the performance of the MPC inevitably depends on the quality of the prediction model used in the optimal control computation. However, in most cases, the model for the machine dynamics is unknown a priori, as some parameters are not measured precisely. Thus, the controller may need to estimate unknown parameters of the model of the machine, concurrently to the operation of the machine, and thus, also enforce constraints while the parameters are estimated. The conventional approaches to handle such problems include adaptive or learning-based MPC, where an MPC control problem is augmented with a closed-loop identification scheme in order to learn the unknown machine parameters. By learning the unknown parameters, the operation of the machine achieved by the controller is improved.
However, current approaches of adaptive and learning based MPC are limited for multiple reasons. First, while estimating the unknown parameters, constraints can be violated or the control performance may be excessively reduced in order to conservatively enforce the constraints. In fact, several existing methods, such as a method described in U.S. 2011/0022193, simply ignore the constraints and thus are incapable of producing admissible control strategies for machines subject to constraints.
Second, simply adjusting the prediction model of the MPC based on the identified model of the machine it is not enough to guarantee that the output of the machine achieves the desired value. Accordingly, there is a need for a method for controlling an operation of a machine using the MPC that includes uncertainty, wherein the operation of the machine is subject to the constraints.
Since the MPC behavior depends on the prediction model and the performance index, when the first is updated, the second needs to be adjusted also to achieve convergence of the machine output to the desired value. This may also require specific designs of certain additional constraints of the MPC problem. Also, adjusting the cost function needs to be computationally simply.
Third, it is desired that a certain proportionality exists between the parameter estimation error, and the error in the controlling of the machine, so that small estimation error causes only small controlling error.
Finally, several methods for adaptive MPC require a significant amount of computation and can be executed only in expensive processors at a slow rate, enabling only machines with low response bandwidth to be controlled.
Accordingly, there is a need for a method for controlling an operation of a machine using the MPC that includes uncertainty, wherein the operation of the machine is subject to the constraints, and the control error is proportional to the parameter estimation error and convergence is achieved when the estimation error vanishes.